import { DateTime } from 'luxon'

import { AreaChartDataType } from '~/components/designSystem/graphs/types'
import { MrrDataForOverviewSectionFragment } from '~/generated/graphql'

export const formattedMrrDataLoadingFixture: MrrDataForOverviewSectionFragment[] = [
  {
    endOfPeriodDt: DateTime.now().minus({ month: 11 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 12 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 10 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 11 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 9 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 10 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 8 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 9 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 7 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 8 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 6 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 7 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 5 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 6 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 4 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 5 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 3 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 4 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 2 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 3 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().minus({ month: 1 }).toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 2 }).toISO(),
    startingMrr: '0',
  },
  {
    endOfPeriodDt: DateTime.now().toISO(),
    endingMrr: '0',
    mrrChange: '0',
    mrrChurn: '0',
    mrrContraction: '0',
    mrrExpansion: '0',
    mrrNew: '0',
    startOfPeriodDt: DateTime.now().minus({ month: 1 }).toISO(),
    startingMrr: '0',
  },
]

export const formattedMrrDataForAreaChartLoadingFixture: AreaChartDataType[] = [
  {
    axisName: DateTime.now().minus({ month: 11 }).toISO(),
    value: 1000,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 10 }).toISO(),
    value: 1200,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 9 }).toISO(),
    value: 1500,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 8 }).toISO(),
    value: 1500,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 7 }).toISO(),
    value: 1800,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 6 }).toISO(),
    value: 2200,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 5 }).toISO(),
    value: 2200, // Stable month
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 4 }).toISO(),
    value: 2500,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 3 }).toISO(),
    value: 2800,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 2 }).toISO(),
    value: 3200,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().minus({ month: 1 }).toISO(),
    value: 3200,
    tooltipLabel: '',
  },
  {
    axisName: DateTime.now().toISO(),
    value: 3500,
    tooltipLabel: '',
  },
]
